package com.devmindset.legoframework.usage.client.service;

import java.util.List;

import com.devmindset.legoframework.usage.client.model.CalEvent;
import com.devmindset.legoframework.usage.client.model.Country;
import com.devmindset.legoframework.usage.client.model.OrderItem;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * Service interface for the RPC services the server-side can offer.
 * 
 * @author <a href="ice.penov@devmindset.com">Ice Penov</a>
 */
@RemoteServiceRelativePath("UsageService")
public interface UsageServiceInterface extends RemoteService {
	
	/**
	 * Test and monitoring service.
	 * 
	 * @return the "OK" message
	 */
	String ping();
	
	/**
	 * Gets the list of order items.
	 */
	List<OrderItem> getOrderItems();
	
	/**
	 * Gets the list of countries.
	 */
	List<Country> getCountries();
	
	/**
	 * Retrieves the calendar events.
	 */
	List<CalEvent> getCalendarEvents();
}